package com.j2ee.proxy.static01;

/**
 * 静态代理模式的缺点：
 * 	1、每个dao的实现类都需要开发对应的静态代理类；
 * 	2、代理类需要实现dao实现类的每个方法，而且每个方法都需要开启事务，提交事务。
 * 		因此，静态代理模式并没有简化开发，没有做到业务逻辑与事务的松耦合。
 * 实际上：静态代理模式只是提出了代理开发模式的概念而已，该实现无法进行商用开发。
 * @author LC
 *
 */
public class PersonDaoProxy implements PersonDao {
	
	private PersonDao personDao ;
	private Transaction transaction ;
	
	public PersonDaoProxy(PersonDao personDao, Transaction transaction) {
		super();
		this.personDao = personDao;
		this.transaction = transaction;
	}

	@Override
	public void savePerson() {
		transaction.beginTransaction() ;
		personDao.savePerson() ;
		transaction.commit();
	}

}
